//页面初始化
$(document).ready(function(){
   // window.addEventListener('isc_c_EventHandler_handleMouseWheel',func, { passive: false });
    refreshHtml();
});

var FZJ = {};
var fzList = {};

//刷新页面信息
function refreshHtml(){
    var data = {
        ids: top.OB.Emes_ActionButton.AssignOrders.ids.join(","),
        type: "NONE"
    };
    top.OB.RemoteCallManager.call("com.mes.handler.plan.JobOrderAssignHandler", data , {}, function(response, data, request){
        if (data.result) {
            /**
             * 从后台获取到飞织机数据和选择的拉动订单数据
             * 1.加载飞织机数据
             * 2.加载列表数据
             */
            var index = data.facList.length;
            FZJ = data;
            refreshFZJ(data.facList);
            refreshOrders(data.orderList);

            setTimeout(function () {
                addSorts(index, "orderTable");
            }, 2000);
        }
    });
}
//飞织机数据
function refreshFZJ(data) {
    var fzjStr = [];
    var fzjList = data;
    for (i = 0; i < fzjList.length; i++) {
        var fzj = fzjList[i];
        if(i % 3 == 0) {
            fzjStr.push('<ul class="thumbnails" id="fzjUl">');
        }
        fzjStr.push('<li class="span4" ><div class="thumbnail">');
        fzjStr.push('<div class="caption"><h3 style="margin-top: 0px;">' + fzj.code + '</h3>');
        fzjStr.push('<div>');
        fzjStr.push('<table id="\' + fzj.code + \'" class="table 0px solid transparent" >');
        fzjStr.push('    <tbody>');
        fzjStr.push('    <tr>');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'1" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'2" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'3" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'4" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'5" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('    </tr>');
        fzjStr.push('    <tr class="success">');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'6" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'7" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'8" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'9" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('        <td>');
        fzjStr.push('            <div id="'+fzj.code+'10" style="width:25px;height: 25px;border-radius:50%; background: #f1a805"><div>');
        fzjStr.push('        </td>');
        fzjStr.push('    </tr>');
        fzjStr.push('    </tbody>');
        fzjStr.push('</table>');
        fzjStr.push('</div>');
        fzjStr.push('</div>');
        fzjStr.push('</div>');
        fzjStr.push('</li>');
        if(i % 3 == 0) {
            fzjStr.push('</<ul>');
        }
    }

    $("#fzjUl").append(fzjStr.join(""));
}
//订单数据
function refreshOrders(data){
    var ordStr = [];
    var orderList = data;
    for (i = 0; i < orderList.length; i++) {
        var order = orderList[i];
        ordStr.push('<div class="list-group-item tinted">【'+order.code +'】/ ' + order.pCode + ' / ' + order.color + ' / ' + order.size + '</div>');
    }
    $("#orderTable").append(ordStr.join(""));
}
//初始化排序功能
function  addSorts(index, ele) {

    for(var i = 0 ; i < index ; i ++){
        Sortable.create(document.getElementById(FZJ.facList[i].code), {
            group: 'shared',
            multiDrag: true,
            selectedClass: "selected",
            animation: 150,
            onEnd: function(evt){ //拖拽完毕之后发生该事件
            },
            onUpdate: function (evt){ //拖拽更新节点位置发生该事件
            },
            onMove: function (/**Event*/evt, /**Event*/originalEvent) {
            },
            onAdd: function (/**Event*/evt) {
            }
        });
    }

    Sortable.create(orderTable, {
        group: 'shared',
        multiDrag: true,
        selectedClass: "selected",
        animation: 150,
        onEnd: function(evt){ //拖拽完毕之后发生该事件
            //获取移动到指定目标的ID
            console.log(evt.to.id);
            var targetId = evt.to.id;
            if(targetId == 'orderTable') {
                return ;
            }

            //获取移动的数量
            var nums;
            var params = [];
            if(evt.items.length == 0){
                nums = 1;
                params.push(evt.item);
            }else{
                nums = evt.items.length;
                params = evt.items;
            }
            //更改单元格颜色
            changeTable(nums,targetId,params);
            $(evt.to).find(".list-group-item").remove();
        }
        // setData: function (/** DataTransfer */dataTransfer, /** HTMLElement*/dragEl) {
        //     dataTransfer.setData('Text', dragEl.textContent); // `dataTransfer` object of HTML5 DragEvent
        // }
    });
}
//派工时改变单元格颜色
function  changeTable(cnt, id, params) {
    var old = !fzList[id] ? 0 : fzList[id]['count'];
    if((old + cnt) > 10){
        alert("由于飞织机的任务列表只有10个，您最多只能派"+(10-old)+"个工单");
        return false;
    }
    var count = old + cnt;
    for(; old < count ; old++){
        $("#" + id + (old + 1)).css("background","#77f360");
    }
    fzList[id] = {count: old, newList: getDragJobID(params)};
}
//获取拖动的工单ID
function getDragJobID(params){
    var jobOrds = [];
    var items = params;
    for(var i = 0 ; i < items.length ; i ++){
        var str = items[i].innerText;
        var order = str.substr(1,(str.indexOf("】")-1));
        jobOrds.push(order);
    }
    return jobOrds;
}

